<?xml version='1.0'?>

<gl_extension name="GL_ARB_vertex_program" reg_no="26">
	<tokens>
		<token name="GL_COLOR_SUM_ARB" value="0x8458"/>
		<token name="GL_VERTEX_PROGRAM_ARB" value="0x8620"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB" value="0x8622"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB" value="0x8623"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB" value="0x8624"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB" value="0x8625"/>
		<token name="GL_CURRENT_VERTEX_ATTRIB_ARB" value="0x8626"/>
		<token name="GL_PROGRAM_LENGTH_ARB" value="0x8627"/>
		<token name="GL_PROGRAM_STRING_ARB" value="0x8628"/>
		<token name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB" value="0x862E"/>
		<token name="GL_MAX_PROGRAM_MATRICES_ARB" value="0x862F"/>
		<token name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB" value="0x8640"/>
		<token name="GL_CURRENT_MATRIX_ARB" value="0x8641"/>
		<token name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB" value="0x8642"/>
		<token name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB" value="0x8643"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB" value="0x8645"/>
		<token name="GL_PROGRAM_ERROR_POSITION_ARB" value="0x864B"/>
		<token name="GL_PROGRAM_BINDING_ARB" value="0x8677"/>
		<token name="GL_MAX_VERTEX_ATTRIBS_ARB" value="0x8869"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB" value="0x886A"/>
		<token name="GL_PROGRAM_ERROR_STRING_ARB" value="0x8874"/>
		<token name="GL_PROGRAM_FORMAT_ASCII_ARB" value="0x8875"/>
		<token name="GL_PROGRAM_FORMAT_ARB" value="0x8876"/>
		<token name="GL_PROGRAM_INSTRUCTIONS_ARB" value="0x88A0"/>
		<token name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB" value="0x88A1"/>
		<token name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB" value="0x88A2"/>
		<token name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB" value="0x88A3"/>
		<token name="GL_PROGRAM_TEMPORARIES_ARB" value="0x88A4"/>
		<token name="GL_MAX_PROGRAM_TEMPORARIES_ARB" value="0x88A5"/>
		<token name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB" value="0x88A6"/>
		<token name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB" value="0x88A7"/>
		<token name="GL_PROGRAM_PARAMETERS_ARB" value="0x88A8"/>
		<token name="GL_MAX_PROGRAM_PARAMETERS_ARB" value="0x88A9"/>
		<token name="GL_PROGRAM_NATIVE_PARAMETERS_ARB" value="0x88AA"/>
		<token name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB" value="0x88AB"/>
		<token name="GL_PROGRAM_ATTRIBS_ARB" value="0x88AC"/>
		<token name="GL_MAX_PROGRAM_ATTRIBS_ARB" value="0x88AD"/>
		<token name="GL_PROGRAM_NATIVE_ATTRIBS_ARB" value="0x88AE"/>
		<token name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB" value="0x88AF"/>
		<token name="GL_PROGRAM_ADDRESS_REGISTERS_ARB" value="0x88B0"/>
		<token name="GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB" value="0x88B1"/>
		<token name="GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB" value="0x88B2"/>
		<token name="GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB" value="0x88B3"/>
		<token name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB" value="0x88B4"/>
		<token name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB" value="0x88B5"/>
		<token name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB" value="0x88B6"/>
		<token name="GL_TRANSPOSE_CURRENT_MATRIX_ARB" value="0x88B7"/>
		<token name="GL_MATRIX0_ARB" value="0x88C0"/>
		<token name="GL_MATRIX1_ARB" value="0x88C1"/>
		<token name="GL_MATRIX2_ARB" value="0x88C2"/>
		<token name="GL_MATRIX3_ARB" value="0x88C3"/>
		<token name="GL_MATRIX4_ARB" value="0x88C4"/>
		<token name="GL_MATRIX5_ARB" value="0x88C5"/>
		<token name="GL_MATRIX6_ARB" value="0x88C6"/>
		<token name="GL_MATRIX7_ARB" value="0x88C7"/>
		<token name="GL_MATRIX8_ARB" value="0x88C8"/>
		<token name="GL_MATRIX9_ARB" value="0x88C9"/>
		<token name="GL_MATRIX10_ARB" value="0x88CA"/>
		<token name="GL_MATRIX11_ARB" value="0x88CB"/>
		<token name="GL_MATRIX12_ARB" value="0x88CC"/>
		<token name="GL_MATRIX13_ARB" value="0x88CD"/>
		<token name="GL_MATRIX14_ARB" value="0x88CE"/>
		<token name="GL_MATRIX15_ARB" value="0x88CF"/>
		<token name="GL_MATRIX16_ARB" value="0x88D0"/>
		<token name="GL_MATRIX17_ARB" value="0x88D1"/>
		<token name="GL_MATRIX18_ARB" value="0x88D2"/>
		<token name="GL_MATRIX19_ARB" value="0x88D3"/>
		<token name="GL_MATRIX20_ARB" value="0x88D4"/>
		<token name="GL_MATRIX21_ARB" value="0x88D5"/>
		<token name="GL_MATRIX22_ARB" value="0x88D6"/>
		<token name="GL_MATRIX23_ARB" value="0x88D7"/>
		<token name="GL_MATRIX24_ARB" value="0x88D8"/>
		<token name="GL_MATRIX25_ARB" value="0x88D9"/>
		<token name="GL_MATRIX26_ARB" value="0x88DA"/>
		<token name="GL_MATRIX27_ARB" value="0x88DB"/>
		<token name="GL_MATRIX28_ARB" value="0x88DC"/>
		<token name="GL_MATRIX29_ARB" value="0x88DD"/>
		<token name="GL_MATRIX30_ARB" value="0x88DE"/>
		<token name="GL_MATRIX31_ARB" value="0x88DF"/>
	</tokens>

	<functions>
		<function name="glVertexAttrib1dARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
			</params>
		</function>
		<function name="glVertexAttrib1dvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib1fARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
			</params>
		</function>
		<function name="glVertexAttrib1fvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib1sARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
			</params>
		</function>
		<function name="glVertexAttrib1svARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib2dARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
			</params>
		</function>
		<function name="glVertexAttrib2dvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib2fARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
			</params>
		</function>
		<function name="glVertexAttrib2fvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib2sARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
			</params>
		</function>
		<function name="glVertexAttrib2svARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib3dARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
			</params>
		</function>
		<function name="glVertexAttrib3dvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib3fARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
			</params>
		</function>
		<function name="glVertexAttrib3fvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib3sARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
				<param type="GLshort" name="z"/>
			</params>
		</function>
		<function name="glVertexAttrib3svARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NbvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLbyte*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NivARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLint*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NsvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NubARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLubyte" name="x"/>
				<param type="GLubyte" name="y"/>
				<param type="GLubyte" name="z"/>
				<param type="GLubyte" name="w"/>
			</params>
		</function>
		<function name="glVertexAttrib4NubvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLubyte*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NuivARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLuint*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4NusvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLushort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4bvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLbyte*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4dARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
				<param type="GLdouble" name="w"/>
			</params>
		</function>
		<function name="glVertexAttrib4dvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4fARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
				<param type="GLfloat" name="w"/>
			</params>
		</function>
		<function name="glVertexAttrib4fvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4ivARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLint*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4sARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
				<param type="GLshort" name="z"/>
				<param type="GLshort" name="w"/>
			</params>
		</function>
		<function name="glVertexAttrib4svARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4ubvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLubyte*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4uivARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLuint*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttrib4usvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLushort*" name="v"/>
			</params>
		</function>
		<function name="glVertexAttribPointerARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLint" name="size"/>
				<param type="GLenum" name="type"/>
				<param type="GLboolean" name="normalized"/>
				<param type="GLsizei" name="stride"/>
				<param type="const GLvoid*" name="pointer"/>
			</params>
		</function>
		<function name="glEnableVertexAttribArrayARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
			</params>
		</function>
		<function name="glDisableVertexAttribArrayARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
			</params>
		</function>
		<function name="glProgramStringARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLenum" name="format"/>
				<param type="GLsizei" name="len"/>
				<param type="const GLvoid*" name="string"/>
			</params>
		</function>
		<function name="glBindProgramARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="program"/>
			</params>
			<mappings>
				<mapping from="GL_NV_vertex_program" name="glBindProgramNV"/>
			</mappings>
		</function>
		<function name="glDeleteProgramsARB" return="void">
			<params>
				<param type="GLsizei" name="n"/>
				<param type="const GLuint*" name="programs"/>
			</params>
			<mappings>
				<mapping from="GL_NV_vertex_program" name="glDeleteProgramsNV"/>
			</mappings>
		</function>
		<function name="glGenProgramsARB" return="void">
			<params>
				<param type="GLsizei" name="n"/>
				<param type="GLuint*" name="programs"/>
			</params>
			<mappings>
				<mapping from="GL_NV_vertex_program" name="glGenProgramsNV"/>
			</mappings>
		</function>
		<function name="glProgramEnvParameter4dARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
				<param type="GLdouble" name="w"/>
			</params>
		</function>
		<function name="glProgramEnvParameter4dvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="params"/>
			</params>
		</function>
		<function name="glProgramEnvParameter4fARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
				<param type="GLfloat" name="w"/>
			</params>
		</function>
		<function name="glProgramEnvParameter4fvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="params"/>
			</params>
		</function>
		<function name="glProgramLocalParameter4dARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
				<param type="GLdouble" name="w"/>
			</params>
		</function>
		<function name="glProgramLocalParameter4dvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="params"/>
			</params>
		</function>
		<function name="glProgramLocalParameter4fARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
				<param type="GLfloat" name="w"/>
			</params>
		</function>
		<function name="glProgramLocalParameter4fvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramEnvParameterdvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLdouble*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramEnvParameterfvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLfloat*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramLocalParameterdvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLdouble*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramLocalParameterfvARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLuint" name="index"/>
				<param type="GLfloat*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramivARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramStringARB" return="void">
			<params>
				<param type="GLenum" name="target"/>
				<param type="GLenum" name="pname"/>
				<param type="GLvoid*" name="string"/>
			</params>
		</function>
		<function name="glGetVertexAttribdvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLdouble*" name="params"/>
			</params>
		</function>
		<function name="glGetVertexAttribfvARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLfloat*" name="params"/>
			</params>
		</function>
		<function name="glGetVertexAttribivARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
		</function>
		<function name="glGetVertexAttribPointervARB" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLvoid**" name="pointer"/>
			</params>
		</function>
		<function name="glIsProgramARB" return="GLboolean">
			<params>
				<param type="GLuint" name="program"/>
			</params>
		</function>
	</functions>
</gl_extension>
